<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>promise</title>
</head>
<body>

<script>
    /*
    promise 是异步变成的一种解决方案（回调地狱），
    从语法上讲，Promise是一个对象，它可以获取异步操作的消息

    使用的好处：
    1.可以避免多层异步调用嵌套问题（回调地狱）
    2.Promise对象提供了简洁的API，使得控制异步操作更加容易
    * */

    /*基本使用*/
    /*var p = new Promise(function(resolve,reject){
        // 成功时调用 resolve()
        // 失败时调用 reject()
    });
    p.then(function(res){
        // 从resolve得到 正确结果
    },function(rej){
        // 从reject得到 错误结果
    })*/


    /*使用*/
    var p = new Promise(function(resolve,reject){
        setTimeout(function(){
            var flag = false;
            if(flag){
                // 成功时调用 resolve()
                resolve("flag:true");
            }else{
                // 失败时调用 reject()
                reject("flag:false");
            }
        },1000);
    });
    p.then(function(res){
        console.log(res);
    },function(rej){
        console.log(rej);
    })


</script>

</body>
</html>
